const { Mongo } = require("../lib/index") 

const mongo = new Mongo()

global.Log = {
    info( msg ){
        console.log( msg )
    }
}

mongo.config({
    uris : "mongodb://192.168.0.121:27017/test" ,
    opt : {
        // bufferCommands : false , //是否禁用本地缓存
        // bufferMaxEntries : 0 ,   //配合bufferCommands使用
        // user : "" ,              //auth.user
        // pass : "" ,              //auth.password 
        // autoIndex : false ,      //开发模式可以自动创建索引,生成环境中取消(false)
        // dbName : ""  ,           //连接的数据库名
        keepAlive: true,
        // autoReconnect : true ,      //是否自动重连
        // reconnectTries : Number.MAX_VALUE ,       //重连次数,默认最大次数
        // reconnectInterval : 1*1000  ,    //重连时间,单位秒,1分钟内是否可以恢复
        poolSize : 10 ,             //最大socket连接数,不一定无限大就好，根据测试结果设置
        useNewUrlParser : true ,
        useUnifiedTopology: true 
    }
})

async function test(){

    await mongo.start()
    
    const Kitty = new Schema({
        name : String
    })

    const Kitten = mongo.model(" kitten" , Kitty , "kitten")

    let kitty = await new Kitten({
        name : "哈哈"
    }).save()

    console.log( await Kitten.find() ) 

    // let result = await Kitten.find()

    // console.log( "修改前：" ,result )
    // kitty.name = "修改后"
    // setTimeout( async function(){
    //     await Kitten.updateOne( {
    //         _id : kitty._id 
    //     } , kitty )
    
    //     console.log(  "修改后：" , result )
    //     await Kitten.updateMany({
    //         name : "修改后" 
    //     } , {
    //         name : "三次修改"
    //     })

    //     result = await Kitten.find()
    
    //     console.log(  "二次修改" , result )
    // } , 2000 )
    
    // // console.log( mongo.Mongo )

}

test()